//
//  SEGMenuListViewController.h
//  FrameworkTest
//
//  Created by 刘山 on 2018/4/8.
//  Copyright © 2018年 刘山. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "SEGMenuListManager.h"
#import "SEGNeighborRollViewModel.h"
#import "SEGMenuSideslipView.h"
@interface SEGMenuListViewController : UIViewController<UITableViewDelegate, UITableViewDataSource, SEGProtocolSideslipViewDelegate>
@property (nonatomic, copy) NSString *menuSid;
@property (nonatomic, copy) NSString *settingsId;
@property (nonatomic, copy) NSString *action;

@property (nonatomic, strong) UITableView* tableView;
@property (nonatomic, strong) NSIndexPath *oldPGCIndexPath;
@property (nonatomic, strong) SEGMenuListManager *menuListManager;
@property (nonatomic, strong) NSIndexPath *doorControlIndexPath;

@property (nonatomic, strong) NSMutableArray<NSMutableArray<SEGMenuListModel *> *> *menuDataSource;

/** 是否正在点赞(防止重复调用点赞接口) */
@property (nonatomic, assign) BOOL isLiking;

#pragma mark - =========V4.5.0 版本=========
/**
 * 数据加载后的回调
 * @author Sam
 * @version 4.6.0
 * @param hasTopLine  邻里头条是否存在
 * @param HasAd  是否存在广告
 * @param topLine  邻里头条数据
 */
-(void)segResponseDataHasTopLine:(BOOL)hasTopLine HasAd:(BOOL)HasAd topLine:(NSArray<SEGNeighborRollViewModel *> *)topLine;

/**
 * 网络请求完成后的回调
 * @author Sam
 */
-(void)segResponseMenuListData;

// 停止刷新
-(void)segResponseStopFreshData;

/**
 子类调用方法 在加载菜单 tableview reload之后调用
 */
- (void)refreshOtherData;

/**
 * 展示本地数据、请求网络数据
 * 首页/社区页刷新
 * isManualRefresh: 是否手动刷新. 手动下拉刷新的话不需要加载本地缓存数据(因为未对菜单中邻里圈,社区活动等做缓存,在网络成功回调前会出现暂无内容页面)
 */
- (void)segShowLocalDataAndRequestServerDataIsManualRefresh:(BOOL)isManualRefresh;

@end
